home *** CD-ROM | disk | FTP | other *** search
- --
- -- effects emitter creation test
- --
- desc = getEffectDescriptionP(ENET_EFFECT_EFFECTSEMITTER_FOG)
- desc.ClassID = ENCLASS_UNKNOWN
- desc.EffectClassType = ENECT_EFFECTSEMITTER
- desc.ActivityType = ENACT_PASSIVE
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- local vzbzd1 = D3DXVECTOR3:new(0,0,0)
- desc.LocalPosition = vzbzd1
- vzbzd1:delete()
- emitterdesc = desc.EffectsEmitter
- emitterdesc.EmitEffectType = ENET_EFFECT_BINDEDSPRITE_FOG
- emitterdesc.EffectsPerSecond = 10
-
-
- --
- -- sprite 0 creation test
- --
-
- function fog_onSpriteCreate()
- local effect = uniGetExecutor()
-
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,1.0)
- interpolator:addKey(8.0,10.0)
- interpolator:finalize(false)
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_X))
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_Y))
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_Z))
-
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,0.0)
- interpolator:addKey(1.0,1.0)
- interpolator:addKey(6.0,1.0)
- interpolator:addKey(8.0,0.0)
- interpolator:finalize(false)
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_EMISSIVE_A))
-
-
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,1.0)
- interpolator:addKey(1.0,1.0)
- interpolator:addKey(6.0,1.0)
- interpolator:addKey(8.0,1.0)
- interpolator:finalize(false)
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_R))
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_G))
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_B))
- --[[
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,0.0)
- interpolator:addKey(1.0,0.0)
- interpolator:addKey(6.0,0.0)
- interpolator:addKey(8.0,0.0)
- interpolator:finalize(false)
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_G))
- effect:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_B))
- ]]--
-
- effect:addRotationEffect(ENET_EFFECT_ROTATE_SPIRAL,rand(-0.1,0.1))
-
- local wPos = effect:getWorldPosition()
- effect:setLocalPosition(wPos.x + rand(-100,100),wPos.y + rand(4,4),wPos.z + rand(-100,100))
- --[[
- local tree = createWorldEffect(304 + rand(0,15),wPos.x + rand(-100,100),wPos.z + rand(-100,100))
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,0.01)
- interpolator:addKey(10.0,1.0)
- interpolator:addKey(10000.0,1.0)
- interpolator:finalize(false)
- tree:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_X))
- tree:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_Y))
- tree:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_Z))]]--
- end
-
- desc = getEffectDescriptionP(ENET_EFFECT_BINDEDSPRITE_FOG)
- desc.ClassID = ENCLASS_ORIENTEDSPRITE
- desc.EffectClassType = ENECT_ORIENTEDSPRITE
- desc.onCreate = "fog_onSpriteCreate"
- --desc.ActivityType = ENACT_SEMIACTIVE
- desc.ActivityType = ENACT_ACTIVE
- desc.LifeLimit = 8.0
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.FileName = "fog5.dds"
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- --desc.RelativePosition = ENLOCALPOS_BBOX_PLANE_XZRANDOM_Y0
- local vzbzd2 = D3DXVECTOR3:new(0,0,0)
- desc.LocalPosition = vzbzd2
- vzbzd2:delete()
- desc.isAnimateTexture = false
-
- desc.Material = ENMAT_3DSPRITE_ALPHED
- desc.MaterialColors.Ambient.r = 0
- desc.MaterialColors.Ambient.g = 0
- desc.MaterialColors.Ambient.b = 0
- desc.MaterialColors.Ambient.a = 1
- desc.MaterialColors.Diffuse.r = 0
- desc.MaterialColors.Diffuse.g = 0
- desc.MaterialColors.Diffuse.b = 0
- desc.MaterialColors.Diffuse.a = 1
- desc.MaterialColors.Emissive.r = 1
- desc.MaterialColors.Emissive.g = 1
- desc.MaterialColors.Emissive.b = 1
- desc.MaterialColors.Emissive.a = 0
- desc.RenderType = ENRENDERTYPE_GEOMETRY
-
- spdesc = desc.OrientedSprite
- spdesc.SpriteType = EN3DSPRITE_BINDED
- spdesc.xsize = 10
- spdesc.ysize = 10
- local vzbzd3 = D3DXVECTOR3:new(0,0,1)
- spdesc.OrientAxis = vzbzd3
- vzbzd3:delete()
- local vzbzd4 = D3DXVECTOR3:new(0,1,0)
- spdesc.BindAxis = vzbzd4
- vzbzd4:delete()
- spdesc.Centering = ENCENTERING_CENTER
- spdesc.isTargetted = false
- spdesc.TargetRelativePosition = ENLOCALPOS_NOTSPECIFIED
- spdesc.IsAxisInLocalSpace = false
-
-
-
-
-
-
-
-
-
-
-
-
- ---------------------------------------------------------------------------------------------
- ----- special "fast" fog-------------------------------------------------------------------
- ---------------------------------------------------------------------------------------------
-
- function createWorldEffect_fog(size,pos_x,pos_z)
- fogD = fogCreationParams:new()
- fogD.cloudLifeTime = 10.0;
- fogD.textureName = "environment_effect_explosion_smoke15.dds";
- fogD.Material = ENMAT_SIMPLEPARTICLE;
- fogD.cloudsPerSecond = (size * size) / 10000 * 6.0;
-
- fogD.initialSpeedMin = 1;
- fogD.initialSpeedMax = 6;
- fogD.initialAngleSpeedMin = -0.4;
- fogD.initialAngleSpeedMax = 0.4;
- fogD.initialSizeMin = 10;
- fogD.initialSizeMax = 20;
- fogD.initialAngleMin = -MATH_PI;
- fogD.initialAngleMax = MATH_PI;
-
- fogD.startingPosVariance.x = size;
- fogD.startingPosVariance.y = 10;
- fogD.startingPosVariance.z = size;
-
- fogD.sizePercentKeys:addKey(1,0)
- fogD.sizePercentKeys:addKey(4,10)
-
- fogD.transparencyKeys:addKey(0,0)
- fogD.transparencyKeys:addKey(0.7,1)
- fogD.transparencyKeys:addKey(0.7,9.0)
- fogD.transparencyKeys:addKey(0,10)
-
- fogD.speedPercentKeys:addKey(1,0)
- fogD.speedPercentKeys:addKey(1,10)
-
- fogD.angleSpeedPercentKeys:addKey(1,0)
- fogD.angleSpeedPercentKeys:addKey(1,10)
-
- local fog = createFogEffect(fogD)
- fog:setLocalPosition(pos_x,0,pos_z)
- return fog
- end
-
- function CWE_fog(size)
- local m = getMouse3DWorldPosition()
- local fog = createWorldEffect_fog(size,m.x,m.z)
- end
-
-
-
-
-